<?php

declare(strict_types=1);

namespace app\model;

use think\Model;
use think\facade\Db;

/**
 * @mixin \think\Model
 */
class GoodsCat extends Model
{
    //获取类型单一数据
    public static function find($id)
    {
        $res = Db::name('goods_cat')->where('id', $id)->where('del', '0')->find();
        return $res;
    }

    //商品类型列表
    public static function list($where = "")
    {
        $res = Db::name('goods_cat')->where($where)->where('del', '0')->order('px')->select();
        return $res;
    }

    //商品类型添加
    public static function add($data)
    {
        $data['add_date'] = time();
        $res = Db::name('goods_cat')->insert($data);
        return $res;
    }

    //商品类型编辑
    public static function edit($data)
    {
        $data['rep_date'] = time();
        $res = Db::name('goods_cat')->update($data);
        return $res;
    }

    //商品类型删除
    public static function del($id)
    {
        $find = Db::name('goods_cat')->where('parent_id', $id)->where('del', '0')->find();
        if ($find) {
            return '请先删除下级';
        } else {
            $goods = Db::name('goods')->where('cat_id', $id)->where('del', '0')->find();
            if ($goods) {
                return '该类型已有商品，请先删除对应商品！';
            } else {
                $res = Db::name('goods_cat')->where('id', $id)->update(['del' => '1', 'rep_date' => time()]);
                if ($res) {
                    return 'success';
                } else {
                    return '删除失败';
                }
            }
        }
    }
    
}
